1. Introduction

À l’ère de la transformation numérique, concevoir une application ne se résume plus à une simple exécution technique.

Le véritable défi est de créer un produit pertinent, durable et tourné vers l’avenir.

C’est dans cette optique que l’Intelligence Artificielle (IA) a été placée au cœur du projet "HairBnB".

Loin d’être un simple effet de mode, l’IA représente aujourd’hui le principal moteur d’innovation, capable de redéfinir en profondeur les expériences utilisateurs et les méthodes de travail.

Cette section se propose donc d’analyser l’impact de l’IA à deux niveaux distincts.

D’une part, nous verrons comment ses fonctionnalités sont directement intégrées dans "HairBnB" pour offrir un service plus intelligent.

D’autre part, nous témoignerons de son rôle crucial en tant qu’assistant au développement, un partenaire qui a facilité la recherche, accéléré la résolution de problèmes et optimisé la production de ce rapport.

Adopter l’IA, c’est faire le choix d’embrasser le progrès.

Pour un développeur, ignorer cette révolution reviendrait à se laisser dépasser.

Ma philosophie s’inspire d’une maxime puissante issue de la culture des startups et du marketing : "Eat yourself before somebody eats you."
Autrement dit, il est impératif d’innover et de rendre ses propres méthodes obsolètes avant que la concurrence ne s’en charge.

En intégrant l’IA, un outil de rupture, j’applique directement ce principe pour rester pertinent et proactif.

Les arabes disent : "La main que tu ne peux pas couper, il faut l’embrasser. 😆"

2. L’integration de l’IA dans "HairBnB"

2.1. Objectif de l’Intégration de l’IA

L’idée d’intégrer un assistant intelligent dans HairBnB est née d’une expérience personnelle marquante avec mon application bancaire.

Je cherchais à savoir si un virement instantané vers une autre banque était payant.

Après une recherche infructueuse via l’interface traditionnelle, je me suis tourné vers l’assistant conversationnel.

Non seulement il m’a immédiatement confirmé la gratuité du service, mais il a enchaîné de manière proactive en me demandant le montant à transférer.

Guidé par l’IA, j’ai sélectionné le compte, validé les détails et signé l’opération, le tout sans jamais quitter la fenêtre de conversation.

Cette fluidité, où la recherche d’information et l’action ne font plus qu’un, a été la principale source d’inspiration pour la fonctionnalité IA de HairBnB.

L’intégration d’un assistant conversationnel au sein de la plateforme HairBnB répond à un objectif technique précis : doter les utilisateurs, et plus particulièrement les coiffeuses, d’un outil d’analyse de données à la fois puissant et intuitif.

Traditionnellement, l’analyse de l’activité commerciale — qu’il s’agisse du suivi des revenus, de la popularité des services ou du feedback client — nécessite de naviguer dans des tableaux de bord qui peuvent s’avérer complexes ou chronophages.

L’assistant IA a été conçu pour éliminer cette barrière technique.

Il permet de traduire une simple question en langage naturel en une requête complexe vers la base de données, puis de synthétiser le résultat de manière claire.

Concrètement, la valeur ajoutée de cette fonctionnalité est de permettre à une coiffeuse et un admin d’obtenir des réponses instantanées et précises à des questions telles que :

  • "Quel est le revenu total généré par les paiements ?"

  • "Montre-moi les services les plus populaires en fonction du nombre de réservations."

  • "Quelle est la note moyenne de mon salon basée sur les avis clients ?"

  • "Combien de nouveaux clients ai-je eu ces 30 derniers jours ?"

Le but final est donc de transformer les données brutes de l’application en leviers de croissance directement actionnables.

L’assistant IA devient un partenaire stratégique qui aide chaque coiffeuse à mieux comprendre son activité, à identifier des opportunités et à prendre des décisions éclairées, le tout depuis une simple fenêtre de conversation.

Il est important de noter que la fonctionnalité présentée ici constitue une implémentation initiale, agissant comme une démonstration technique ou une preuve de concept (Proof of Concept).

Son objectif est de valider l’architecture choisie et de démontrer la faisabilité de l’approche.

Bien que fonctionnelle, cette version est une fondation destinée à être améliorée et enrichie dans des itérations futures pour atteindre le niveau de robustesse et de finition d’un service professionnel.

2.2. Technologies Clés

L’architecture de cette fonctionnalité d’intelligence artificielle repose sur un ensemble de technologies robustes et modernes, choisies pour leur efficacité, leur flexibilité et leur capacité à interagir de manière transparente.

2.2.1. Backend : Django & Django Rest Framework

L’ensemble de la logique applicative est construit sur le framework Python Django.

Le modèle de données et les interactions avec la base de données sont gérés via l’ORM (Object-Relational Mapper) de Django, comme on peut le voir dans la fonction get_database_context_for_query qui fait appel aux modèles de l’application.

La couche API, qui expose les fonctionnalités au client, est développée avec Django Rest Framework (DRF).

Qu’est-ce qu’un ORM (Object-Relational Mapper) ?

Un outil qui crée un pont entre le code (comme Python) et une base de données.

Il permet de manipuler les données avec des objets au lieu d’écrire des requêtes SQL, ce qui simplifie le développement.

2.2.2. Service IA : Anthropic Claude 3 Haiku

Le cerveau de l’assistant conversationnel est le grand modèle de langage (LLM) d'Anthropic.

Le code interagit directement avec l’API d’Anthropic via son client Python officiel.

Le modèle spécifique utilisé est claude-3-haiku-20240307, un choix stratégique privilégiant un excellent équilibre entre la vitesse de réponse, le coût d’utilisation et de solides capacités de raisonnement.

Pour optimiser les coûts et les performances, la bibliothèque tiktoken est également utilisée pour compter avec précision le nombre de tokens avant d’envoyer une requête à l’API.

Qu’est-ce qu’Anthropic Claude ?

Une famille de grands modèles de langage (LLM) créée par la société Anthropic.

Qu’est-ce qu’un LLM (Large Langage Model) ?

Un type d’intelligence artificielle entraîné sur d’immenses volumes de texte pour comprendre et générer le langage humain.
Il est le moteur derrière les assistants conversationnels comme ChatGPT ou Claude.

Elle est connue pour ses performances élevées en matière de conversation et son accent mis sur la sécurité et l’éthique de l’IA.

2.2.3. Authentification et Sécurité : Firebase

La sécurisation des points d’entrée de l’API est assurée par une authentification via Firebase.

Chaque vue nécessitant une protection est précédée du décorateur personnalisé @firebase_authenticated.

Ce mécanisme garantit que seules les requêtes provenant d’utilisateurs connectés et validés par Firebase peuvent accéder aux fonctionnalités de l’IA.

De plus, un système d’autorisation granulaire est mis en place, comme en témoigne le décorateur @is_owner_coiffeuse, qui restreint l’accès de certaines fonctionnalités uniquement aux utilisateurs ayant le rôle de coiffeuse propriétaire.

Qu’est-ce qu’un décorateur en Python ?

Une fonction spéciale qui ajoute des fonctionnalités à une autre fonction sans modifier son code.
On l’utilise avec la syntaxe @ pour des tâches comme vérifier si un utilisateur est connecté avant d’exécuter une action.

@api_view(['GET'])
@firebase_authenticated
@is_owner_coiffeuse
def get_coiffeuse_conversation_messages(request, conversation_id):
    """Récupère les messages d'une conversation spécifique, en vérifiant que la coiffeuse en est propriétaire."""
    conversation = get_object_or_404(AIConversation, id=conversation_id, user=request.user)
    serializer = AIConversationSerializer(conversation)
    return Response(serializer.data)

Au début de l’intégration, la piste des modèles open-source, comme ceux de la famille Mistral, a été explorée.

Cependant, la complexité de leur mise en œuvre s’est avérée être un obstacle significatif.

Dans un second temps, l’option de l’auto-hébergement d’un modèle local, tel que Deepseek, a été testée.

Cette approche a rapidement montré ses limites en matière de performance : dès le début d’une conversation, elle induisait une charge excessive sur le serveur, provoquant une latence inacceptable pour l’utilisateur.

Ces défis m’ont conduit à opter pour une troisième solution : l’utilisation d’un service d’API managé.

Le choix s’est porté sur l’API d’Anthropic pour son modèle Claude, qui abstrait toute la complexité de l’infrastructure.

Ce modèle "pay-as-you-go" s’est révélé être la solution la plus pragmatique et économiquement viable pour ce projet, permettant de se concentrer sur la logique applicative plutôt que sur la gestion des ressources matérielles.

— Démarche de sélection technologique

L’utilisation d’une API externe pour une fonctionnalité aussi centrale soulève une question légitime de sécurité et de souveraineté des données.

Bien que ce débat soit crucial dans un contexte de production industrielle, le cadre de ce projet académique nous invite à prioriser d’autres aspects.

Le plus important ici n’est pas de construire une infrastructure d’IA souveraine, mais de démontrer la faisabilité technique de l’intégration et la valeur ajoutée pour l’utilisateur final.

Le choix d’une API comme celle de Claude est une décision pragmatique qui permet de se concentrer sur la logique applicative et l’expérience utilisateur, plutôt que sur la gestion complexe d’une infrastructure d’IA.

La sécurité au niveau de l’application reste cependant une priorité, assurée par des mécanismes d’authentification robustes comme le décorateur @firebase_authenticated qui protège chaque point d’entrée de l’API.

2.3. Public Cible

L’assistant IA a été conçu pour s’adresser à différents profils d’utilisateurs au sein de l’application, en leur fournissant des informations et des capacités d’analyse adaptées à leur rôle.

L’analyse du code, notamment des vues et des utilitaires, permet de distinguer trois publics principaux.

2.3.1. Coiffeuse Propriétaire (Cible Principale)

C’est le cœur de cible de cette fonctionnalité.

Un ensemble de points d’entrée API leur est spécifiquement dédié (coiffeuse_ai_views.py) et sécurisé par le décorateur @is_owner_coiffeuse.

L’assistant agit pour elles comme un véritable analyste d’affaires, capable de répondre à des questions précises sur leur activité grâce à un contexte de données très riche.

Elles peuvent par exemple demander :

  • Les performances de leur salon, incluant la note moyenne et le nombre d’avis.

  • Des statistiques sur leurs rendez-vous personnels (à venir, terminés, annulés).

  • Leurs horaires de travail et leurs futures indisponibilités.

2.3.2. Administrateur de la Plateforme (Cible Implicite)

En posant des questions générales, un administrateur peut obtenir une vue d’ensemble de l’activité de la plateforme, avec des données comme :

  • Les statistiques globales (nombre total d’utilisateurs, de salons, de services).

  • Le revenu total généré par les paiements sur l’ensemble de la plateforme.

  • Le classement des meilleurs salons ou des coiffeuses les plus actives.

3. Architecture Générale de la Solution

L’architecture de l’assistant IA est conçue autour d’une séparation claire des responsabilités, où les vues agissent comme le chef d’orchestre du processus.

Chaque composant a un rôle spécialisé, permettant une solution modulaire et maintenable.

Le flux de données, de la question de l’utilisateur à la réponse de l’IA, est entièrement piloté par les fonctions définies dans les fichiers ai_views.py et coiffeuse_ai_views.py.

3.1. Orchestration du Flux par les Vues

Le traitement d’une requête suit un enchaînement précis d’étapes, orchestré par la vue send_message (ou send_coiffeuse_message) :

  1. Réception et Validation : Une requête HTTP POST est envoyée par le client vers un point d’entrée défini dans ai_urls.py ou coiffeuse_ai_urls.py.

La vue correspondante reçoit la requête et utilise un sérialiseur, comme SendMessageRequestSerializer, pour valider les données entrantes (le message de l’utilisateur et l’ID optionnel de la conversation).

  1. Gestion de la Conversation : La vue identifie l’utilisateur authentifié (request.user) et soit récupère la conversation existante, soit en crée une nouvelle dans la base de données via le modèle AIConversation.

  2. Sauvegarde de la Requête Utilisateur : Le message de l’utilisateur est immédiatement sauvegardé en base de données en créant une instance du modèle AIMessage avec le champ is_user positionné à True.

  3. Appel à l’Expert de la Base de Données (utils.py) : La vue délègue l’extraction des données à la fonction get_database_context_for_query du module utils.py.

Cette fonction spécialisée analyse la question de l’utilisateur pour ne remonter que les informations de la base de données qui sont strictement pertinentes pour la requête.

  1. Appel au Service IA (ai_service.py) : La vue instancie ensuite la classe AIService et appelle sa méthode get_response.

Elle lui transmet la question de l’utilisateur, le contexte de la base de données fourni par utils.py, et l’historique récent de la conversation. Le AIService se charge alors de la communication avec l’API externe d’Anthropic, en optimisant le prompt et les tokens.

  1. Sauvegarde et Réponse Finale : Une fois la réponse de l’IA reçue du AIService, la vue la sauvegarde à son tour dans un nouvel objet AIMessage (avec is_user à False) et met à jour le total des tokens utilisés pour la conversation.

Finalement, elle formate la réponse dans un objet Response de Django Rest Framework et la renvoie au client.

Les vues ne contiennent pas la logique métier complexe, mais agissent comme des coordinateurs intelligents.

Elles s’appuient sur des services spécialisés : utils.py pour l’accès aux données, ai_service.py pour l’intelligence artificielle, et les serializers pour la validation, créant ainsi une architecture propre et découplée.

Diagram

4. Une Technologie de Pointe au Service du Développement

L’intégration de Claude AI Desktop avec le protocole MCP représente une approche révolutionnaire dans le développement moderne.

Cette solution de tendance permet d’avoir un assistant IA directement intégré dans l’environnement de développement, capable d’analyser et de comprendre l’ensemble de l’écosystème HairBnB.

Claude AI Desktop + MCP = Un œil intelligent permanent sur le projet, capable de naviguer dans toutes les couches de l’application.

4.1. L’Approche Traditionnelle vs. L’Approche IA

Table 1. Comparaison des méthodes de développement
Aspect Approche Traditionnelle Approche Claude Desktop + MCP

Détection d’erreurs

Fouiller manuellement dans les fichiers
Recherche textuelle basique
Debugging ligne par ligne

Claude analyse l’ensemble du projet
Détection contextuelle intelligente
Suggestions de correction immédiates

Compréhension du code

Lecture séquentielle
Documentation externe
Expérience développeur requise

Analyse architecturale instantanée
Explication du flux de données
Compréhension multi-couches

Résolution de problèmes

Heures de recherche
Trial & error
Consultation de forums

Question → Réponse → Action
Solutions contextuelles
Correction guidée

5. Workflow Moderne avec Claude Desktop

modern workflow

5.1. Cas Concrets d’Utilisation dans HairBnB

5.1.1. Détection d’Erreurs Simples mais Critiques

Scénario typique :

❌ Problème : L'endpoint de paiement retourne une erreur 404
🤔 Approche traditionnelle : 2-3 heures de recherche
✅ Avec Claude Desktop : 30 secondes

Conversation avec Claude :

Développeur : "L'endpoint de paiement ne fonctionne pas, erreur 404"

Claude : "J'ai analysé votre configuration. Dans urls.py ligne 23,
vous avez écrit '/api/payement/' au lieu de '/api/paiement/'.
Aussi, vérifiez que la vue 'process_payment' est bien importée
dans views.py."

5.2. Analyse Multi-Couches Intelligente

Table 2. Architecture HairBnB analysée par Claude Desktop
Couche Composants Analyse Claude

Frontend

Flutter, Components, States

• Détection des props manquantes

Backend

Django, URLs, Views, Models

• Vérification des routes
• Verification des requêtes ORM

Base de Données

PostgreSQL, Relations, Indexes

• Analyse des performances
• Détection des requêtes lentes
• Suggestions d’indexation

Configuration

Settings, Environment, Deployment

• Vérification des configurations
• Vérification de la sécurité des paramètres

6. Avantages Pratiques Immédiats

6.1. Gain de Temps Substantiel

Type d’Erreur Temps Traditionnel Temps avec Claude Gain

URL mal configurée

2-3 heures

30 secondes

99% plus rapide

Import manquant

1 heure

10 secondes

99.7% plus rapide

Virgule oubliée

30 minutes

5 secondes

99.7% plus rapide

Configuration environnement

4-5 heures

2 minutes

99.3% plus rapide

6.2. Exemple Concret : Debugging d’une Réservation

Problème : Les réservations ne s’enregistrent pas dans la base de données.

Conversation avec Claude Desktop :

Q: "Les réservations ne se sauvegardent pas, que se passe-t-il ?"

Claude: "J'ai identifié 3 problèmes potentiels :

1. Dans models.py ligne 67 : Le champ 'date_reservation' n'a pas
   de valeur par défaut et peut être null

2. Dans serializers.py ligne 23 : 'salon_id' n'est pas validé
   avant la création

3. Dans views.py ligne 45 : La transaction n'est pas wrappée,
   risque de corruption en cas d'erreur

Solutions :
- Ajouter default=timezone.now au modèle
- Valider salon_id dans le serializer
- Wrapper la vue avec @transaction.atomic"

6.3. Architecture Technique de l’Intégration

technical architecture

6.4. Impact sur la Productivité

6.4.1. Métriques de Performance

Avant Claude Desktop + MCP : * Temps moyen de résolution d’un bug : 3-4 heures * Compréhension d’une nouvelle feature : 1-2 jours * Debugging multi-couches : 1 journée entière, des fois beaucoup plus longue

Après Claude Desktop + MCP : * Temps moyen de résolution d’un bug : 15-30 minutes * Compréhension d’une nouvelle feature : 30 minutes * Debugging multi-couches : 1-2 heures

Résultat : Productivité développeur augmentée d’une maniére trés significatif' sur les tâches de debugging et de compréhension du code.

L’intégration de Claude AI Desktop avec le protocole MCP dans HairBnB représente plus qu’une simple optimisation technique.

C’est une transformation fondamentale de la méthode de développement :

  • Fin de la recherche aveugle dans le code

  • Détection intelligente des erreurs contextuelles

  • Assistance en temps réel sur l’architecture complète

  • Apprentissage accéléré pour les nouveaux développeurs

Cette approche moderne positionne HairBnB à l’avant-garde des pratiques de développement assisté par IA, garantissant une maintenance plus efficace et une évolution plus rapide de l’application.

7. Recherche Documentaire Assistée par IA

L’intelligence artificielle a également joué un rôle crucial dans la recherche et synthèse de documentation technique.
Face à la masse d’informations disponibles sur Django, Flutter, le protocole MCP et les APIs d’Anthropic, l’IA a permis d’identifier rapidement les sources pertinentes et de synthétiser les concepts complexes.

Cette assistance a transformé des heures de recherche manuelle en minutes de consultation ciblée, permettant d’accéder instantanément aux bonnes pratiques, aux solutions d’implémentation et aux exemples de code adaptés au contexte spécifique de HairBnB.

L’IA agit comme un filtre intelligent qui extrait l’essentiel de la documentation technique pour le rendre directement exploitable.

8. Le Défi Linguistique dans la Rédaction Technique

Dans un contexte où le français n’est pas ma langue maternelle, la rédaction de ce rapport technique représentait un défi particulier. Sans l’assistance de l’intelligence artificielle, ma préoccupation première n’aurait pas été le contenu technique ou la qualité des analyses, mais plutôt la correction linguistique et l’évitement des fautes d’orthographe, de grammaire et de conjugaison.

L’IA a permis de libérer la créativité technique en gérant automatiquement les aspects linguistiques, permettant de se concentrer sur l’essentiel : le contenu et la valeur ajoutée du projet.

9. Correction Linguistique Automatisée

Table 3. Types de corrections assistées par l’IA
Type de Correction Problématique Sans IA Solution avec IA

Orthographe

Vérification manuelle fastidieuse
Risque de fautes non détectées
Perte de temps considérable

Correction automatique en temps réel
Suggestions contextuelles
Fiabilité maximale

Grammaire

Structures de phrases complexes
Accords difficiles à maîtriser
Syntaxe parfois incorrecte

Restructuration automatique
Suggestions d’amélioration
Fluidité naturelle

Conjugaison

Temps verbaux complexes
Concordance des temps
Modes grammaticaux

Correction contextuelle
Adaptation automatique
Cohérence temporelle

Style et Registre

Ton parfois inapproprié
Registre incohérent
Expressions maladroites

Adaptation au registre technique
Suggestions stylistiques
Cohérence rédactionnelle

9.1. Traduction et Adaptation de Documentation

Sources multilingues intégrées : * Documentation technique anglaise (Django, Flutter, PostgreSQL).
* Ressources sur le protocole MCP (principalement en anglais).
* Articles de recherche sur l’intelligence artificielle.
* Guides d’implémentation des APIs (Anthropic, Firebase).

L’IA a permis non seulement de traduire ces contenus, mais aussi de les adapter au contexte francophone tout en conservant la précision technique.

9.2. Création de Diagrammes avec PlantUML

9.2.1. Génération Assistée de Schémas

L’utilisation de PlantUML pour créer les diagrammes techniques de ce rapport a été grandement facilitée par l’assistance de l’IA :

Workflow de création :

Description verbale → Code PlantUML → Schéma visuel → Optimisation
Table 4. Exemples de diagrammes générés
Type de Diagramme Contribution de l’IA

Architecture système

Génération du code PlantUML complet
Suggestions d’optimisation visuelle
Adaptation aux standards techniques

Flux de données

Modélisation des interactions complexes
Simplification pour la lisibilité
Annotations pertinentes

Diagrammes de séquence

Structuration logique des échanges
Gestion des acteurs et composants
Synchronisation des flux temporels

9.3. Impact sur la Productivité Rédactionnelle

Sans assistance IA :

Temps de rédaction estimé : 80% linguistique + 20% contenu
Qualité finale : Limitée par les contraintes linguistiques
Focus principal : Éviter les fautes plutôt qu'enrichir le contenu

Avec assistance IA :

Temps de rédaction optimisé : 20% linguistique + 80% contenu
Qualité finale : Focus sur la valeur technique et analytique
Focus principal : Innovation, analyse et apport de valeur

9.4. Méthodologie de Travail Collaboratif

9.4.1. Processus Itératif avec l’IA

workflow redaction

9.5. Exemple Concret de Transformation

Texte initial (brouillon) :

"L'intégration de IA dans application permet de avoir meilleur
analyse des donnés et peut aider les coiffeuses pour comprendre
leur business mieux avec questions simples."

Après correction IA :

"L'intégration de l'intelligence artificielle dans l'application
permet d'obtenir une analyse optimisée des données et d'aider
les coiffeuses à mieux comprendre leur activité commerciale
grâce à un système de questions en langage naturel."

9.6. Bénéfices Quantifiables

Table 5. Impact de l’assistance IA sur la qualité rédactionnelle
Aspect Sans IA Avec IA Amélioration

Temps de rédaction

100 heures

40 heures

60% de gain

Qualité linguistique

Niveau B1-B2

Niveau C1

+2 niveaux

Focus sur le contenu

20%

80%

x4 plus efficace

Erreurs linguistiques

~50 par page

~2 par page

96% de réduction

9.7. Conclusion : L’IA comme Démocratisateur Linguistique

L’utilisation de l’intelligence artificielle dans la rédaction de ce rapport illustre parfaitement l’une des promesses les plus importantes de cette technologie : la démocratisation de l’expression technique.

Sans cette assistance, ce rapport n’aurait jamais atteint le niveau de qualité linguistique nécessaire pour transmettre efficacement la complexité technique du projet HairBnB.

L’IA a permis de transcender les barrières linguistiques pour se concentrer sur l’essentiel : l’innovation et la valeur technique.

Cette approche collaborative entre intelligence humaine et artificielle représente un modèle reproductible pour tous les projets techniques où la langue de rédaction n’est pas la langue maternelle du rédacteur.

10. Lexique

Terme Définition

API (Application Programming Interface)

Une interface qui permet à différentes applications de communiquer entre elles. Dans HairBnB, elle est développée avec Django Rest Framework pour exposer les fonctionnalités au client.

Anthropic Claude

Famille de grands modèles de langage (LLM) utilisée comme le "cerveau" de l’assistant conversationnel de HairBnB.
Le modèle spécifique utilisé est claude-3-haiku-20240307.

Auto-hébergement (Self-hosting)

Approche qui consiste à héberger un modèle d’IA sur son propre serveur. Cette option a été testée avec le modèle Deepseek mais a été écartée en raison de problèmes de performance.

Backend

La partie d’une application non visible par l’utilisateur qui gère la logique et les données. Pour HairBnB, il est construit avec le framework Python Django.

Mistral

Famille de modèles d’IA open-source qui a été considérée comme une alternative au début du projet, mais dont la complexité de mise en œuvre a conduit à écarter cette option

Claude AI Desktop + MCP

Une solution d’assistant IA intégré directement dans l’environnement de développement pour analyser l’ensemble du projet (code, base de données, etc.) et aider le développeur.

Décorateur (en Python)

Une fonction spéciale (@) qui ajoute des fonctionnalités à une autre fonction, comme vérifier si un utilisateur est connecté (@firebase_authenticated) ou s’il a le bon rôle (@is_owner_coiffeuse).

Django & Django Rest Framework

Framework web Python utilisé pour construire la logique applicative (backend) et la couche API de HairBnB.

Endpoint

Une URL spécifique d’une API où l’on peut envoyer une requête pour effectuer une action, par exemple, l’endpoint de paiement.

Firebase

Plateforme utilisée pour sécuriser les points d’entrée de l’API de HairBnB via un système d’authentification des utilisateurs.

Flutter

Technologie utilisée pour développer l’interface utilisateur (le "Frontend") de l’application HairBnB.

IA (Intelligence Artificielle)

Moteur d’innovation au cœur du projet HairBnB, utilisé à la fois dans les fonctionnalités de l’application (assistant) et comme aide au développement.

Langage Naturel

Permet aux utilisateurs de poser des questions simples (comme "quel est mon revenu total ?") qui sont ensuite traduites en requêtes complexes pour la base de données.

LLM (Large Language Model)

Un type d’IA entraîné sur d’immenses volumes de texte pour comprendre et générer le langage humain.
C’est le moteur des assistants comme Claude.

Open-source

Logiciel dont le code source est public. Des modèles open-source (comme ceux de la famille Mistral) ont été initialement explorés pour le projet mais écartés en raison de leur complexité de mise en œuvre.

ORM (Object-Relational Mapper)

Outil de Django qui crée un pont entre le code Python et la base de données, permettant de manipuler les données avec des objets sans écrire de requêtes SQL.

PlantUML

Outil utilisé pour générer les diagrammes techniques (architecture, séquence, etc.) du rapport à partir d’une description textuelle, facilitée par l’IA.

PostgreSQL

Le système de gestion de base de données utilisé pour stocker les données de l’application HairBnB.

Proof of Concept (PoC)

Fait référence à l’implémentation initiale de l’assistant IA, conçue comme une démonstration technique pour valider l’architecture et la faisabilité de l’idée.

Protocole MCP

Protocole mentionné en association avec Claude AI Desktop pour permettre à l’IA d’analyser l’ensemble de l’écosystème HairBnB.
Le rapport ne détaille pas son fonctionnement technique.

Sérialiseur (Serializer)

Outil de Django Rest Framework qui valide les données entrantes d’une requête (ex: le message de l’utilisateur) et formate la donnée sortante (la réponse de l’IA).

Souveraineté des données

Enjeu de sécurité et de contrôle des données lorsqu’on utilise un service externe (API).
C’est une question jugée cruciale mais qui n’était pas la priorité dans le cadre de ce projet académique.

Tiktoken

Bibliothèque Python utilisée pour compter précisément le nombre de "tokens" (unités de texte) avant d’envoyer une requête à l’API de Claude, afin d’optimiser les coûts.

11. Sources

Technologie / Service Type de Source Mentionné dans le Rapport Lien vers la Documentation Officielle

Django & Django Rest Framework

Documentation technique en anglais et informations sur l’ORM et les vues.

Django
Django Rest Framework

Anthropic (API Claude)

Guides d’implémentation des APIs et utilisation du client Python officiel d’Anthropic.

https://docs.anthropic.com/claude/reference/getting-started-with-the-api

Firebase

Guides d’implémentation des APIs, spécifiquement pour l’authentification et la sécurité.

https://firebase.google.com/docs

Protocole MCP & autres

Chaine de professeur @mohamedYoussfi Cette chaîne est un trésor pour les connaissances sur le protocole MCP et d’autres choses.

https://www.youtube.com/@mohamedYoussfi

PlantUML

Documentation sur l’outil pour la génération de schémas et de diagrammes techniques.

https://plantuml.com/

tiktoken

Documentation de la bibliothèque pour compter avec précision le nombre de tokens avant d’envoyer une requête à l’API.

https://github.com/openai/tiktoken